﻿using FluentNHibernate.Mapping;

namespace MPBlog.Model.FluentNhibernateMap
{
    public class ArticleMap : ClassMap<Article>
    {
        public ArticleMap()
        {
            Id(m => m.Id).GeneratedBy.Identity();

            Map(m => m.Title).Not.Nullable();
            Map(m => m.Content).CustomType("StringClob").CustomSqlType("text").Not.Nullable();
            Map(m => m.Author).Not.Nullable();
            Map(m => m.Tags);
            Map(m => m.CategoryId);
            Map(m => m.PublishTime);
            Map(m => m.ReadCount).Default("0");
            Map(m => m.VisibleLevel).Default("0");

            Map(m => m.CreatedTime).Not.Nullable();
            Map(m => m.LogicalDelete).Default("0");
        }
    }
}
